In the course of conducting activities involving multiple parties, a need often arises for people to meet to share information, exchange data or documents, discuss topics of mutual interest, or collaborate in preparing various documents or other work product. It may not be desirable, or possible, for all of the participants in a meeting to be in the same physical location at the same time, in which case meeting objectives may be achieved using various communication equipment and networks as tools for facilitating remote collaboration in a multimedia collaboration session, such as a multiparty conference session. It can be useful for such a session to include a variety of media types that include the participants' voices, video images, shared documents, text messages, drawings, computer screen images, etc.
Several systems exist for configuring various devices and networks into collaboration sessions. For example, multimedia collaboration systems require many components and resources such as server equipment, networking equipment, and media processing and distribution. Session participants may be distributed in a wide variety of locations, e.g., in the same building, multiple buildings, across a city, across a country, or internationally. Thus, the communication links between participants vary greatly in quality, bandwidth, and usage cost.
Conventional multimedia collaboration architectures can be divided into two basic architectures: central-server and peer-connected. In a central-server architecture, all participant clients communicate with a single server that performs control, routing, and media processing functions. The server is located at a point in the network topology that is often not optimal for a given session's participants. In addition, a central server architecture provides all media services from a single point in the network, preventing separation of media services and further preventing location of specific media services at optimal points in the network. In a peer-connected architecture, participant clients communicate directly with one another.
There are several roles for participants in a collaboration session. One role can be that of a moderator or chair of the collaboration session. A moderator can, for example, initiate and/or control the collaboration session. Another role can be that of a presenter or speaker. A participant who is in a presenter role can have the ability to make presentations, e.g., in audio and/or video format, during the collaboration session. Another role can be that of a viewer. A participant who is in a viewing role can have the ability to review and/or hear the presentations made by whichever participant is presenting at that time. A collaboration session can include one or more participants, each of which can participate in any number of these roles.
Privileges or permissions can be established for various participants and/or roles for a collaboration session. Particular privileges or permissions can be repeated or reused for the participants and/or roles in successive collaboration sessions. The privileges can be referred to as rules as well. The privileges determine the activities and the manner in which participants can participate in a collaboration session.
As discussed above, typically one of the participants in a collaboration session is a moderator. The moderator can have different privileges than the other participants in the collaboration session. For example, the moderator can initiate and/or control the collaboration session. In some systems, the moderator can grant permission to other participants in the session to become presenters.
In some conventional collaboration sessions, various media types can be needed for the session. Media types can be referred to alternatively as media components. Sometimes the media component needs may change during a session. Other times, a need may arise during on ongoing session to add a new media component. In one embodiment, the new media component to be added may involve a separate network, such as the public switched telephone network (“PSTN”).
An example of an addition of a new media component is the addition of a telephone conference to an Internet-based data collaboration session that is in progress. In some cases, a different device is used to access the separate network. Also, the separate network can use a different addressing scheme, and there is often no association or common storage of the two network addresses.
Another example of an addition of a new media component is the addition of a telephone-based audio conference to an ongoing multimedia collaboration session that does not include any audio component. Thus, new devices, such as telephones. that operate over a separate network must be added to the collaboration session. The telephone network used to facilitate the telephone-based audio conference can be: (a) separate from the computer network, e.g., Internet; (b) uses separate access devices, e.g. desk telephones; and (c) uses a different addressing scheme, e.g. telephone numbers vs. IP addresses.
In some conventional collaboration systems, the addition of such a conference component requires that a list of endpoint addresses associated with devices used to access the separate network, such as telephone numbers, be entered manually. In many cases, one endpoint address is added for each participant to be added to the new conference component. The endpoint addressees can be transferred to a conferencing subsystem that establishes a connection to the endpoint, e.g., telephone, associated with each of the new endpoint addresses. The conferencing subsystem can be configured to connect the endpoints into the an existing collaboration session.
Some conventional collaboration systems, therefore, require each participant to enter the participant's endpoint address for each collaboration session. Other systems require all endpoint addresses to be entered by a single participant, such as a moderator or chair. Manual entry of such endpoint address information for each session introduces delay in the setting up of a session and increases the potential for mistakes in the entry of the information. Further, if endpoint addresses are to be entered by a single participant, that participant must know or obtain the addresses of all other participants, which can be inconvenient. Additionally, any endpoint address information that is stored in a central database or in one person's address book may become out-of-date and is difficult to update when any address changes.